Compressing video data by means of compression coding techniques is being widely practiced. Compression coding techniques include those of comparing two frames and computing a motion vector between those frames as in the case of MPEG-1 and MPEG-2. Known techniques of computing a motion vector include block matching methods of observing matching of pixel blocks in one of the frames and corresponding pixel blocks in the other frame and computing a motion vector on the basis of the degree of matching. However, block matching methods entails a vast amount of computation and cannot get decimal point accuracy of a sub-pixel level.
The Lucas-Kanade method is known as a technique of getting decimal point accuracy of a sub-pixel level with a reduced amount of computation. With this method, a motion vector is computed from a distribution of luminance gradient vectors and hence is classified as a gradient method. However, it provides only a narrow scope of search and cannot correctly compute a motion vector in the case of a move that involves several pixels.
Eigenvector methods are known as methods capable of estimating a motion vector for an image showing a large move and getting decimal point accuracy of a sub-pixel level. Eigenvector methods are also classified as gradient methods. With an eigenvector method, an eigenvector of 3×3 variance-covariance matrix is determined from a distribution of luminance gradient vectors to compute a motion vector. However, these methods also entail a vast amount of computation.
Eigenvalues needs to be highly accurately computed in order to computationally determine a motion vector of higher precision but all the above-described techniques have inherent drawbacks. Therefore, there is a demand for computation techniques that can satisfy the requirement of a large scope of search, that of a reduced amount of computation and that of decimal point accuracy of a sub-pixel level at a time.
There is also a demand for techniques showing a small image dependency for reliability evaluation of an estimated motion vector.